#include<iostream>
#include<unistd.h>
#include<string.h>
#include<wait.h>
#include<cstdlib>


using namespace std;

extern char** environ;
string str = "aaaaaaaaaaaaaaaaaaaaaa";

int main()
{
    putenv((char*)str.c_str());

    for(int i = 0; i < 25; i++)
    {
        cout << environ[i] << endl;
    }
    



    
   // pid_t id = fork();
   // if(id == 0)
   // {
   //     int cout = 5;
   //     while(cout--)
   //     {
   //         printf("我是子进程,pid:%d\n:",getpid());
   //         sleep(1);
   //     }
   //     //exit(100);
   //     int x = 1/0;
   // }
   // else 
   // {
   //     int status;
   //     pid_t rid = waitpid(id,&status,0);
   //     while(1)
   //     {
   //         printf("退出码为:%d,退出信号为:%d",WEXITSTATUS(status),WIFSIGNALED(status));
   //         printf("我是父进程,pid:%d\n:",getpid());
   //         sleep(1);
   //     }
   //     
   // }

   // pid_t id = fork();
   // if(id == 0)
   // {
   //     int cout = 5;

   //     while(cout--)
   //     {
   //         printf("我是子进程，pid:%d\n",getpid());
   //         sleep(1);
   //     }
   //     exit(1);
   // }


   // while(1)
   // {
   //     pid_t rid = wait(nullptr);
   //     if(rid > 0)
   //     {
   //         printf("等到了，pid:%d\n",rid);
   //     }

   //     printf("我是父进程pid:%d,\n",getpid());
   //     sleep(1);
   //     
   // }



    //FILE* pf = fopen("test.c","r");
    //if(pf == nullptr)
    //{
    //    printf("错误码:%d , 错误信息%s\n",errno,strerror(errno));
    //}



    //_exit(3);
    
    //etcxit(5);

    //char* strenv = getenv("PWD");
    
    //std::cout << strenv << std::endl;
    

    //std::cout << strenv << std::endl;
    //
    //
    //std::cout << environ[6] << std::endl;


    return 0;
}
